/*
 * @(#)Tag.java 0.0.1-SNAPSHOT
 * Copyright Group B
 */

package grupb.upf.XMLObjects;

import java.util.Map;

/**
 * <p>The interface to manage tags of a new.</p>
 *
 * @version    0.0.1-SNAPSHOT
 * @author     Group B
 */
public interface Tag {
    /**
     * Method to set the value of a tag.
     * @param tag the value
     */
    void setTag(String tag);
    /**
     * Method to get the value of a tag.
     * @return the value of a tag
     */
    String getTag();
    /**
     * Method to set the coordenates of a tag which describes only a region of
     * the object.
     * @param x1 the coordenate x1
     * @param x2 the coordenate x2
     * @param y1 the coordenate y1
     * @param y2 the coordenate y2
     */
    void setCoordenates(int x1, int x2, int y1, int y2);
    /**
     * Method the get the coordenates.
     * @return the coordenates (x1, x2, y1, y2)
     */
    Map getCoordenates();
    /**
     * Method to clear the coordenates.
     */
    void clearCoordenates();
    /**
     * Method to clear all the values of the tag.
     */
    void clear();
}
